1. Field of the Invention
The present invention is related generally to an apparatus and method for authenticating devices forming a network. More specifically, the present invention is directed to an apparatus and method for authenticating devices forming a network by use of a hash function.
2. Description of the Related Art
In conventional networks, a single server controls a plurality of devices forming the network. This network requires a security guarantee as, without such a guarantee, personal information may be revealed to others. Various algorithms of distinctiveness have been proposed to implement the security requirements. These algorithms have to ensure specific requirements as below:
Confidentiality: Confidentiality refers to restricting access to a message. Only one who knows a key used for encryption of data can obtain access to data using a cryptographic algorithm.
Integrity: Integrity refers to assuring that a received message is not modified by a third party during the delivery. A recipient can confirm the integrity of the message using a hash algorithm or a cipher system.
Authentication: Authentication refers to verification of a sender or recipient of a message, that is, a sender or a recipient verifies the other party. The authentication can be implemented using an authentication protocol based on the cipher system.
Non-repudiation: Non-repudiation refers to prevention of future denial of data transmission or reception by the sender or the recipient. If the sender transmits a certain message to the recipient, the sender cannot deny the transmission of the certain message and/or the recipient cannot insist on the reception of a certain message which the sender did not transmit.
The various algorithms provide sufficient stability and satisfy the above requirements. Thus, appropriate utilization of the algorithms can address problems in the network to some degree. Several cryptographic algorithms are described below, which ensure the above security requirements.
A secret key cryptographic algorithm, which is also called a symmetric cryptographic algorithm, uses the same keys for both encryption and decryption of data. The encryption key encrypts data, and the decryption key transforms the ciphertext into an original form. The sender and the recipient in the communication share a single key, and encrypts or decrypts using the key.
A public key cryptographic algorithm, which is also called an asymmetric cryptographic algorithm, uses different encryption and decryption keys. The encryption key is made public while the decryption key is kept secret so that it is infeasible to decrypt the ciphertext to the original form. The encryption key is referred to as the public key, and the decryption key is referred to as a private key. When using the public key cryptographic algorithm, the public key is revealed to others.
A hash algorithm, which is a one-way function, computes a function value using a variable. That is, it is easy to compute f(x) for a given x but it is infeasible to compute x from f(x)=0. The one-way function is essential to the public key encryption. Though not a protocol per se, the one-way function is the basis of general security protocol implementations, especially, digital signature protocol implementation. Hence, the hash algorithm is one of critical technologies for the cipher system, together with the symmetric and public key cryptographic systems. The hash algorithm transforms an input value of a variable length into an output value of a fixed length. The output value is called a hash value or a message digest. The hash algorithm has to satisfy three requirements as below:
1) computationally infeasible to estimate the original input value using the hash value.
2) computationally infeasible to acquire another input value corresponding to the hash value when the input value and the corresponding hash value are given.
3) computationally infeasible to find two different input values for one hash value.
The authentication of the cryptographic algorithm is described in detail. The cryptographic algorithm uses three authentication methods, that is, it verifies information of a user, belongings of a user, and a property of a user. The user information is verified using a password. The belongings are verified using a certificate and a smart card. The user property is verified using a biometrics (for example, fingerprint and retina scannings). The authentication using the password includes a basic authentication and a digest authentication. The basic authentication verifies a client through a user identification (ID) and the password. The digest authentication may be utilized to authenticate the user while addressing drawbacks of the basic authentication in presenting the password.
FIG. 1 illustrates authentication steps between a client and a server according to the digest authentication. The client requests the authentication to the server at step S100. The server generates a random value corresponding to the request of the client at step S102, and transfers the generated random value to the client at step S104. The client generates an authentication value using the received random value and a password at step S106. The client transfers the generated authentication value to the server at step S108. The server authenticates the client by comparing the received authentication value with its generated authentication value at step S110. In general, the authentication value is generated using the hash function.
As explained in the foregoing, the authentication is performed between the server and devices to assure the network reliability. Home network devices also need the authentication from the server. However, suitable authentication is not provided in current network environment. In general, additional expenses are needed to obtain unique authentication and server authentication certificates for the home network devices. Particularly, manufactures have to bear the additional cost for the certificate and for the unique authentication for each device to apply the certificates to the home network. Accordingly, a new method is demanded for the authentication between the server and the devices without incurring the additional expenses.